package mashuaiproject.mashuaiproject.dto;


import lombok.Data;

import java.util.ArrayList;
import java.util.List;

@Data
public class PaginationDto {
    private List<QuesionUserDto> quesionUserDtos;
    private boolean showPrevious;//是否有像前按钮
    private  boolean showNextpage;//是否有像后按钮
    private boolean showFristPage;//是否第一页
    private  boolean showEndpage;//最后一页
    private  Integer page;//当前页数
    private Integer countPage;
    private  List<Integer> pages=new ArrayList<>();
    private String  isSerach;//判断是否是查询操作
    //如果直接定义 private  List<Integer> pages; 会一直出现空指针的错误

    public void setPagination(Integer totolCount, Integer size, Integer page) {
        this.page=page;
        Integer totolPage=0;//默认总页数是0
        if(totolCount%size==0){
            totolPage=totolCount/size;
        }else{
            totolPage=totolCount/size+1;
        }
        this.countPage=totolPage;
        //
        //判断页数的显示方案
        pages.add(page);//将当前页数加入集合
        for(int i=1;i<=3;i++){
            if(page-i>0){
                pages.add(0,page-i);
                //像集合的头部插入数据
            }
            if(page+i<=totolPage){
                pages.add(page+i);//像集合尾部插入数据
            }
        }
        //判断没有没有前的按钮
        if(page==1){
            showPrevious=false;//
        }else {
            showPrevious=true;
        }
        //判断有没有像后的按钮
        if(page==totolPage){
            showNextpage=false;
        }else {
            showNextpage=true;
        }
        //是否显示第一页
        if(pages.contains(1)){
            showFristPage=false;
        }else{
            showFristPage=true;
        }

        //是否包含最后一页
        if(pages.contains(totolPage)){
            showEndpage=false;
        }else{
            showEndpage=true;
        }
    }
}
